<
communications>
Ward Christensen's file transfer
protocol, probably the most widely available protocol used
for file transfer over
serial lines (e.g. between
modems).
XMODEM uses 128-byte
packets with
error detection,
allowing the receiver to request retransmission of a corrupted
packet.
XModem is fairly slow but reliable.
Several variations have been proposed with increasing packet
sizes (e.g.
XMODEM-1K) and different error detection (
CRC
instead of
checksum) to take advantage of faster modems.
Sending and receiving programs can negotiate to establish the
best protocol they both support.
John Mahr wrote the original
XMODEM CRC error correction code.
This implementation was backward compatible with Christensen's
original checksum code. It improved the error detection from
98% to 99.97% and improved the reliability of transmitting
binary files.
Standard
XMODEM specifies a one-second
timeout during the
reception of characters in the data block portion of a packet.
Chuck Forsberg improved upon
XMODEM by developing
YMODEM and
ZMODEM.
[
Chuck Forsberg, "XMODEM/YMODEM Protocol Reference"].
(2005-09-16)